﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using RRHH.Entities;

namespace SOAPService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IRRHHService2
    {

        // INI CAMBIOS BENITES
        [OperationContract]
        BEPersonal CrearPersonal(BEPersonal personal);
        //BEPersonal CrearPersonal(int personalID, string nombre, string apellidoPaterno, string apellidoMaterno);
        //[OperationContract]
        //PERSONAL1 CrearPersonal(PERSONAL1 personal);
        // FIN CAMBIOS BENITES

        [OperationContract]
        bool ModificarPersonal(int personalID, string nombre, string apellidoPaterno, string apellidoMaterno);
        [OperationContract]
        BEPersonal ObtenerPersonal(int personalID);
        [OperationContract]
        bool EliminarPersonal(int personalID);
        [OperationContract]
        List<BEPersonal> ListarPersonal();
        [OperationContract]
        List<String> ConsultarContratosAVencer();


        // INI CAMBIOS BENITES
        //[OperationContract]
        //List<BEEstCivil> ListarEstadosCivil();

        [OperationContract]
        List<BEDepartamento> ListDepartamento();

        [OperationContract]
        List<BEProvincia> ListProvincia(int idDep);

        [OperationContract]
        List<BEDistrito> ListDistrito(int idDep, int idProv);

        // FIN CAMBIOS BENITES



        ////METODOS DE CONTRATOS
        [OperationContract]
        BEContrato CrearContrato(int IDCONTRATO, DateTime FECHAINICIO, DateTime FECHAFIN, string IDTIPOEXTINCION,
                        string CODIGOEMPLEADO, int IDPERSONAL1, decimal SALARIORECIBO, int IDCARGO,
                        int IDESTADO, DateTime FECHACREACION, int VIGENTE, string IDTIPOCONTRATO,
                        string FLAGCESADO, DateTime FECHAEXTINCION, string ESTADO);

        //[OperationContract]
        //CONTRATO1 CrearContrato(int IDCONTRATO, DateTime FECHAINICIO, DateTime FECHAFIN, string IDTIPOEXTINCION,
        //                        string CODIGOEMPLEADO, int IDPERSONAL1, decimal SALARIORECIBO, int IDCARGO,
        //                        int IDESTADO, DateTime FECHACREACION, int VIGENTE, string IDTIPOCONTRATO,
        //                        string FLAGCESADO, DateTime FECHAEXTINCION, string ESTADO);
        //[OperationContract]
        //bool ModificarContrato(int IDCONTRATO, DateTime FECHAINICIO, DateTime FECHAFIN, string IDTIPOEXTINCION,
        //                        string CODIGOEMPLEADO, int IDPERSONAL1, decimal SALARIORECIBO, int IDCARGO,
        //                        int IDESTADO, DateTime FECHACREACION, int VIGENTE, string IDTIPOCONTRATO,
        //                        string FLAGCESADO, DateTime FECHAEXTINCION, string ESTADO);
        //[OperationContract]
        //CONTRATO1 ObtenerContrato(int IDCONTRATO);
        //[OperationContract]
        //bool EliminarContrato(int IDCONTRATO);
        //[OperationContract]
        //List<CONTRATO1> ListarContrato();





        /************************************************************************************************************
         *                                              T-REGISTRO
         * **********************************************************************************************************/
        [OperationContract]
        List<BEMaestroPersonal> ListarIngresosPersonal();
        [OperationContract]
        BEIngresoTRegistro EnvioIngresoTRegistro(int personalID, string codigoEmpleado);


        /************************************************************************************************
        *                          J. SALCEDO MAESTROPERSONAL
        * **********************************************************************************************/
        [OperationContract]
        List<BEMaestroPersonal> ListarMaestroPersonalXIDPersonal(int personalID);

        [OperationContract]
        BEMaestroPersonal BuscarMaestroPersonalXID(int personalID, string codigoEmpleado);

        [OperationContract]
        int RegistrarMaestroPersonal(BEMaestroPersonal _BEMaestroPersonal);

        [OperationContract]
        int ModificarMaestroPersonal(BEMaestroPersonal _BEMaestroPersonal);


        /****************************************************************************************
         *                                  MAESTRO PERSONAL   
         * ****************************************************************************************/
          [OperationContract]
          List<BEBanco> ListarBanco();

          [OperationContract]
           List<BECargo> ListarCargo();

          [OperationContract]
           List<BECatalogo> ListarCatalogo(BECatalogo _OBECatalogo);

          [OperationContract]
           List<BECategoriaEmpleado> ListarCategoriaEmpleado();

          [OperationContract]
           List<BECentroCosto> ListarCentroCosto();

          [OperationContract]
           List<BEClasePlanilla> ListarClasePlanilla();

          [OperationContract]
           List<BEEmpresa> ListarEmpresa();

          [OperationContract]
           List<BEEps> ListarEPS();


   
    }
}
